previous termLawverenext termprevious termtheoriesnext term have been one of the two main category theoretic formulations of universal algebra, the other being monads. Monads have appeared extensively over the past fifteen years in the theoretical computer science literature, specifically in connection with computational effects, but previous termLawverenext termprevious termtheoriesnext term have not. So we define the notion of (previous termcountablenext term) previous termLawverenext termprevious termtheorynext term and give a precise statement of its relationship with the notion of monad on the category Set. We illustrate with examples arising from the study of computational effects, explaining how the notion of previous termLawverenext termprevious termtheorynext term keeps one closer to computational practice. We then describe constructions that one can make with previous termLawverenext termprevious termtheoriesnext term, notably sum, tensor, and distributive tensor, reflecting the ways in which the various computational effects are usually combined, thus giving denotational semantics for the combinations.