Better return types (Absent trick)

Closes #340, #396, #444.

Note that I kept the grouping `<>`s around entry types even I don’t think they’re necessary in a proper type argument list; do you want me to remove them?