﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1323	Teach compiler that fold and map with clean procedure is itself clean	sjamaan		"It looks like CHICKEN currently doesn't understand that `fold` and `map` are `#:clean` if the argument procedure is `#:clean`.  This prevents it from recognising that something like `(fold + 0 (iota 10000))` is foldable.

We could hardcode these procedures, but I'd prefer not to, so this might require some kind of new annotation in `types.db`.

This idea was inspired by http://pramode.in/2016/08/25/rust-add-billion-numbers/ - if Rust can do it, so can we!"	defect	new	major	someday	compiler	4.11.0		optimisations		hard
