Fixes + Sequential and Constant modifiers

This commit introduces sequential modifiers (applies one modifier after
another) and constant modifiers (always returns the same value). To aid
type inference, the parameter p of the Modifier class has been removed.
It also features some minor fixes to the other modules.

TODO: Try to reduce the requirement of type specifications even more.