whyml: ensure the absence of alias in function types
One exception to this rule is the the result type in a non-recursive function may contain regions coming the function's arguments (though not from the context). It is sometimes useful to write a function around a constructor or a projection: see function [create] in verifythis_fm2012_LRS.mlw. For recursive functions we impose the full non-alias discipline.
Showing with 64 additions and 15 deletions