must_be_known_options_(_, _, [], _, _).
must_be_known_options_(Valid, Found, [X|XS], Domain, Context) :-
( functor(X, Option, 1) -> true
- ; domain_error(Domain, Option , Context)
+ ; domain_error(Domain, X , Context)
) ,
( member(Option, Found) -> domain_error(non_duplicate_options, Option , Context)
; member(Option, Valid) -> true
```trycmd
$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [invalid, process(P)]), process_kill(P), halt'
-use_module(library(process)),process_create([],[],[invalid,process(P)]),process_kill(P),halt causes: error(domain_error(process_create_option,_[..]),process_create/3)
+use_module(library(process)),process_create([],[],[invalid,process(P)]),process_kill(P),halt causes: error(domain_error(process_create_option,invalid),process_create/3)
```