I was going through code of the compiler, but I haven't found the reason why I get (parm: float) parsed to: RoundGroup( RoundGroup( parm, :, float ) ) According to http://nemerle.org/Syntax_extensions it should be: RoundGroup( LooseGroup( parm, :, float ) ) Kamil Dworakowski