function describeColumn($fieldname, $source) {
        if ( ! is_array($source) ) {
            if ( ! is_string($source) ) {
                throw new \Exception('Source must be an array of metadata or a table name');
            }
            $source = self::describe($source);
            if ( ! is_array($source) ) return null;
        }
        foreach( $source as $column ) {
            $name = U::get($column, "Field");
            if ( $fieldname == $name ) return $column;
        }
        return null;
    }