<div dir="ltr"><div><div><div><div><div>Hi,<br><br></div>I am trying to do something like<br><br>signature ARGUMENTS = sig<br>    con n1 :: Name<br>    con t1 :: Type<br>    con t2 :: {Type}<br>    constraint [n1] ~ t2<br>end<br><br>signature RESULT = sig<br>    type t<br>end                  <br><br>functor Functor(A : ARGUMENTS) : RESULT where type t = $([A.n1 = A.t1] ++ A.t2) = struct<br>    open A<br>                      <br>    type t = $([n1 = t1] ++ t2)<br>end<br></div> <br>but the Ur/Web compiler complains saying:<br><br>test.ur:12:58: (to 12:60) syntax error: deleting  CSYMBOL DOT<br>Parse failure<br><br></div>Apparently, one cannot construct type-level records by projecting name variables from a module. Is this a grammar/parser bug? If so, is there a workaround?<br><br></div>Sincrely,<br></div>Saulo<br></div>