Multiple subchains now work.

Previously, subchain addition was broken by a lazy map when
addition was happening by side effect.

Closes #25