Q:

Flatten not working

I am trying to modify some code proposed here Part assignment is not a symbol
and I cannot manage to make Flatten work. I write 
m = {0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.9, 1.0, 1.5, 1.6}; 
f[list_] := Flatten[Module[{titi = {r, x, y, u, v, n, l, w, s}}, 
  Transpose[{titi, Rest@list}]] /; Length[list] > Length[titi]];

and I get
f[m]

{{r, 0.3}, {x, 0.4}, {y, 0.5}, {u, 0.6}, {v, 0.7}, {n, 0.9}, {l, 1.}, {w, 1.5}, {s, 1.6}}

A:

f[...] := Module[{...}, ... /; condition] is a very special syntax (documented in the Details section of Module). It only works if the right-hand side of the := operator contains a Module.  In your example, it contains a Flatten, the Module being buried at a lower level.
What is important to remember is that a /; condition inside of a Module/Block/With must always go together with a := or :>.  It is useful to think of /; as going with the := and not with Module.
In fact, normally we write
f[...] /; condition := ...

The reason to use
f[...] := Module[{...}, ... /; condition]

is to be able to use local Module variables in the condition. More precisely, the purpose is to avoid computing things twice. We might need to compute a quantity for the condition, but we may want to use the very same quantity when computing the result of the function. This would not be possible with f[...] /; condition := ....

As @kglr showed, putting the Flatten inside of the Module will fix this.

A:

Put Flatten inside  Module:
ClearAll[f]
f[list_] := Module[{titi = {r, x, y, u, v, n, l, w, s}}, 
  Flatten@Transpose[{titi, Rest@list}] /; Length[list] > Length[titi]]

f[m]

{r, 0.3, x, 0.4, y, 0.5, u, 0.6, v, 0.7, n, 0.9, l, 1., w, 1.5, s, 1.6}

You could also use Riffle[titi, Rest@list] instead of Flatten[Transpose[{titi, Rest@list}]].

