A programming language embedded in PLT Scheme that supports advanced separation of concerns using predicate dispatching.