Refactoring, doc

Most notably, many 'where' clause functions in Superfuck have been
floated out and given type sigs and docs.