revised op semantics
Merge branch 'master' into op2
turns out dox is required
.
Merge branch 'op2'; placeholder-y semantics for `op`