still playing with contracts/trammel, figured out ns stuff
an idea for how to capture all information for constraints
the concept for contract-based error handling