Port documentation from DSL.swift

Relates to #189. Please review.
I suppose technically this should also have `@param` but it's not in `DSL.swift` either.