<viric>I mean... given that NAT is there, there could be better approaches to it, than the usual firewall sysadmin approach of disabling incoming connections to any internal host whatsoever.
<mark_weaver>NAT blocks some simple ways to hack into a host, but there are plenty of other ways. meanwhile, it makes peer-to-peer quite difficult, and strongly encourages the use of privileged servers as intermediaries.
<meta-RET>civodul: I'm trying to handle mupltiple 'source's. I renamed 'package-source-derivation' to 'match-source-element' (for now) and placed it inside my newly created 'test-match' procedure. Then I added another 'match' to check the number of arguments in 'source'. Basically, (match source ((e) (match-source-element e)) ((e . es) (sequence-operations (match-source-element e) (test-match es)))).
<meta-RET>I'm not sure how to define 'sequence-operations' because 'match-source-element' may return a string, add a file to the store, or do something else. Do you see a way to structure the code differently to avoid using 'sequence-operations'?
<meta-RET>Usually, one'd use 'cons', but it won't work in this case.