Much of the controversy of function revolves around two concepts, namely selected effect (SE) function and causal role (CR) function. Each of these proposals and its reciprocal critiques are examined, and it is shown that each concept embodies two different research strategies in biology, one the search for adaptation (SE function) and the other the reduction of biological phenomena (CR function). But this conceptual difference does not entail a separation in scientific practice. The proper attribution of SE function to a trait requires careful analysis of CR function in its developmental origin -- this is the idea of developmental modularity. It turns out that the ideal condition for developmental CR function analysis (i.e. near decomposability) also facilitates the mosaic evolution of -- and thus the attribution of SE function to -- organismal characters.