Jonathan Manning
10/15/2026, 8:52 AMJonathan Manning
10/15/2026, 9:12 AMBen Nicolas Me
Input inline record(...) named type, in module named type, shared types.nf
Output anonymous record anonymous record cast to named Result type
Identity meta: Record id only id + meta: Map
Self-contained yes yes no
• Ben: + least code, fewest types, easy bulk port. - no named contract, meta stays an opaque bag.
• Nicolas: + explicit interface, Path? replaces [] placeholders. - every caller builds the exact record, no metadata passthrough.
• Me: + shared vocabulary (one channel feeds many modules), eager output checks. - modules depend on types.nf (bad for registry), id/meta duplicated, many types.
Proposal: self-contained modules, named input type in the module with ? for optionals, args/prefix as process inputs (Ben's methylseq#626), and pick one identity key (meta or id, not both).