T decode(Map<String, dynamic> args) { if (schema?.decoder == null) { return args as T; } else { return schema!.decoder(args); } }