(A) There are always "preconceptions" present, even if the programmer isn't working on a level of abstraction that lets them consciously realize it.
(B) Programming a system to be too naive can backfire.