Type type = Types.canonical(getType());
if(type instanceof TFun) {
TFun fun = (TFun)type;
if(fun.getCanonicalDomain() == Types.PUNIT) {
EApply result = new EApply(location, this, new ELiteral(NoRepConstant.PUNIT));
result.effect = fun.getCanonicalEffect();
Type type = Types.canonical(getType());
if(type instanceof TFun) {
TFun fun = (TFun)type;
if(fun.getCanonicalDomain() == Types.PUNIT) {
EApply result = new EApply(location, this, new ELiteral(NoRepConstant.PUNIT));
result.effect = fun.getCanonicalEffect();