function fson_value_create() result(new) type(fson_value), pointer :: new allocate(new) end function fson_value_create