Add constructors for Atom.

I put unit for the ones that didn't had an obvious "main" element. It's slightly inconsistent, not sure how I feel about it.

Not sure about the `mk_` prefix either. I would personally not put any prefix.
You probably should put `~title` last so that you can get rid of `()`.