during @userdefinedlayer function evaluation, if lift(bottom) fails, the recursion is not memoized