Yet another try at categories.