minor edits to composition
promote composition above control
add function purity to docs