Waterloo. Fixes #676. Fixes #644. Fixes #388.