This patch clarifies the failing point of having input or output vectors
of differing types. Before, lowering would fail elsewhere (e.g. in
fmul creation) which may have been not immediately clear.
As a side effect, the getElementType and getVectoryTy functions
required the const qualifier to be added.