Default validation for all types

def validate_type(prop, value, expected):
    """ Default validation for all types """

    # Validate on expected type(s), but ignore None: defaults handled elsewhere
    if value is not None and not isinstance(value, expected):
        _validation_error(prop, type(value).__name__, None, expected)