tried getting resolveMaybe to deal with maybePossibleThree clauses.  Some more bug fixes.
merge love's changes with mine