Madlibs!

Blanks are specified by putting numbers in double curly braces:

{{0}} - noun
{{1}} - proper noun
{{2}} - adjective
{{3}} - adverb

Verbs:
{{4}} - simple tense (root)
{{5}} - continuous tense (root -ing)
{{6}} - perfect tense (root -ed)

Words can be cached and later recalled using this syntax: {{0, 0}}
The second number is an identifier. Identifiers are not shared between parts of speech, so {{0, 0}} and {{1, 0}} do not recall the same word.

Words can be pluralized with this syntax: {{0 pl}}

Words can have suffixes added with this syntax: {{4 -ed}}
"ed" can be replaced with any suffix.

pl and -suffix can't be stacked with each other, and if both are present, pl is preferred. pl and -suffix both stack with caches, and only the root word is cached.