<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _build(value, property_path=None):
 """ The generic schema definition build method. :param value: The value to build a schema definition for :param List[str] property_path: The property path of the current type, defaults to None, optional :return: The built schema definition :rtype: Dict[str, Any] """


    if not property_path:
        property_path = []

    if is_config_type(value):
        return _build_config(value, property_path=property_path)
    elif is_config_var(value):
        return _build_var(value, property_path=property_path)
    elif is_builtin_type(value):
        return _build_type(value, value, property_path=property_path)
    elif is_regex_type(value):
        # NOTE: building regular expression types assumes type is string
        return _build_type(str, value, property_path=property_path)
    elif is_typing_type(value):
        return _build_type(value, value, property_path=property_path)
    return _build_type(type(value), value, property_path=property_path)