We need to have a dedicated validation module to validate the types in the input/output ports. If perhaps there's a different type for inputs/outputs, or custom type, user's should be able to implement their own validation routines pluggable into the Nodes API.