Contributed by Ada Pawlikowska
Contributed by Rob Stenson
Contributed by Patch Hofweber
Contributed by TypeTogether