Design and implement workflow semantic type check.
Design and implement a feature similar to the Kepler type-system check (which
occurs after a workflow is executed), but for semantic annotations.
The semantic type-check should be a component (api) that can be called by
Kepler. Need a mechanism to report (through an interface) the semantic problems
of a workflow (if any exist), and possibly a mechanism to suggest ways to
correct the problems (a la the unit type system).