id	summary	reporter	owner	description	type	status	priority	version	resolution	keywords	cc
11	Hidden arguments in abstract syntax	PeterLjunglof		"Hidden arguments a la Agda/Cayenne is nice.

E.g., lights are both switchable and dimmable:
{{{
fun light : (dev:DeviceType) -> Device(dev);
}}}
The first argument has to be in the lin definition, unused:
{{{
lin light _ = ...
}}}
Better would be to be able to say that `DeviceType` is a hidden argument, e.g.:
{{{
fun light : (dev:DeviceType) |-> Device dev;
lin light = ...
}}}
Another example, with both hidden and ordinary arguments:
{{{
fun request : (menu:Menu) |-> Action menu -> Utterance;
lin request act = ""i want to"" ++ act ++ ""please"";
}}}



"	enhancement	new	major				
